The present invention is directed to configuration management of communication networks, and more specifically to a method and apparatus for configuring managed objects in a reactive or deliberative manner.
Configuration management is a process for identifying and controlling managed objects. In a communications network, these managed objects may represent concrete objects such as source/destination devices (end stations) that are attached to the network and intervening network devices such as servers, applications, routers, switches, hubs, bridges, etc. Devices may also be accessed through serial lines or similar devices or other method of communication. Managed objects may also represent abstract objects such as computer processes, software applications, business processes, and services. As used herein, objects include both concrete and abstract managed objects.
Configuration management functions include: maintaining an inventory of network objects; knowing the configuration of each object; resetting or updating configurations as the need arises; scheduling configuration changes; adding and deleting users and resources on the network; and changing resource operating parameters. For example, configuration management generally allows a network administrator to:
make changes in a configuration of a device to improve performance of the object;
initially configure network services provided by or associated with an object;
make changes in network services provided by or associated with an object;
identify, browse, or store a configuration of an object.
A xe2x80x9cconfigurationxe2x80x9d is a set of attributes that govern the operational characteristics of a object. The configuration may include, for example, port thresholds, operating state of a switch, access information, and the like. Objects that are configured routinely in communications networks include network devices such as routers, switches, bridges, and hubs. Configuration information is typically entered/changed/deleted manually (i.e., through a dumb terminal), or manually/automatically by a network management system executing what is referred to as a configuration management program.
For example, when managing a device manually using a dumb terminal, the terminal is physically attached to the network device and the network administrator issues commands through the terminal""s keyboard. Alternatively, the network device is accessed remotely using an application that establishes a terminal connection to the device through a communications network. For example, an administrator may use the Telnet application at a remote station to establish a Telnet terminal session to the device. The administrator issues commands which are transferred to the device through the network via the application (using the TCP/IP protocol) and then executed on the device.
Another manual method utilizes a configuration management program residing on a general purpose computer, and executed by a network administrator. The administrator must manually provide the program with the configurations of the networking devices, or otherwise interpret performance data to determine new configurations. Examples of configuration management programs include SITE MANAGER available from Bay Networks Inc., Santa Clara, Calif., USA, and CISCOWORKS available from Cisco Systems Inc., Menlo Park, Calif., USA.
In general, manual methods require significant user (administrator) interaction. In large networks having many devices, manual configuration of these devices is tedious and time-consuming for the administrator, and is susceptible to human error. Because of a continuing need for alleviating burdens on the network administrator, automatic methods of network management that require less user interaction have been developed.
Automatic configuration management programs generally allow a network administrator to automate portions of certain labor-intensive tasks, e.g., loading new configurations in a number of routers, upgrading router software, or gathering configuration data. However, such automatic configuration programs are still not capable of loading configurations without user intervention or programming. Thus, a significant amount of user intervention is still required to operate such programs.
Another disadvantage of known methods is that changes are determined by a network administrator having limited information about the network, and without support of exacting numeric methods or expert knowledge. Also, some configuration changes are not optimum for all periods of time, e.g., a special configuration is required because of network performance degradation during a specific time period, but is not optimum for other time periods. Furthermore, manual configuration changes may not be executed consistently throughout the network.
Still further, some configuration changes need to be made quickly while others should be made based on data gathered over a long period of time. The process of collecting configurations, analyzing the information, and formulating new configuration information in response to the analysis is a lengthy, time-consuming process. Thus, manual methods do not allow a network manager to react with sufficient speed to implement configurations in an adequate manner. A method which automates such analysis and configuration tasks would be advantageous.
There is therefore need for a system and method for automatic configuration management of networking devices that optimizes configurations for a designated time period and/or reduces the amount of user intervention and analysis required.
In accordance with one aspect of the present invention, a system and method are provided for the automatic configuration management of network devices, in which an analyzer processes a current configuration of a network device and network performance data and provides an updated configuration to the network device to enhance performance of the device. The system and method may determine the updated configuration based on network management data indicative of network performance. Configuration management may be performed on varying levels according to the amount of interpretation (processing) of the performance data that is required, the time available to perform a configuration task (urgency), or the amount of time required to collect the performance data. Analysis of the performance data may be performed at varying levels by a reactive analyzer and a deliberative analyzer. A reactive analyzer may be, for example, a rule-based event handler, a case-based reasoning structure, a neural network analyzer, threshold function, or model-based reasoning structure. A deliberative analyzer may be, for example, a capacity planner or network administrator.
In one embodiment, a configuration management system comprises a performance monitor, an event handler, a capacity planner, and a configuration manager. The performance monitor monitors the network and provides as an output performance data of the network. The event handler receives the network performance data as an input and evaluates the performance data based upon a rule set; the event handler also provides, as an output, an evaluation of the performance data. The capacity planner also receives the network performance data from the monitor and provides as an output an evaluation of the capacity of the communications network. The configuration manager receives as a first input the output of the event handler, and as a second input the output of the capacity planner. The output of the configuration manager is a command to the network device based on the performance evaluation and the capacity evaluation.
According to a method/embodiment for configuring a network device in a communications network, the method includes the steps of: a) collecting performance data from the communications network; b) evaluating the performance data according to a set of rules to generate a rule evaluation; c) determining a capacity evaluation of the network; d) determining a configuration for the network device based upon the rule evaluation and the capacity evaluation; and e) configuring the device based on the determined configuration.
Another aspect is directed to an apparatus for configuring a network device in a communications network, the apparatus comprising means for collecting performance data from the communications network, means for evaluating the performance data according to a set of rules to generate a rule evaluation, means for determining a capacity evaluation of the network, means for determining a new configuration for the network device based upon the rule evaluation and the capacity evaluation, and means for reconfiguring the device based on the new configuration.
Reconfiguration of a network device may include issuing commands for a new configuration of the device based upon a capacity evaluation. The rule evaluation may be synthesized with the capacity evaluation to provide a single synthesized network evaluation. In at least one embodiment, the synthesis includes resolving one or more conflicts between a configuration determined by the rule evaluation and a configuration determined by the capacity evaluation.
In any of the above embodiments, the success of a reconfiguration command to a network device may be verified by determining whether performance of the communications network has improved subsequent to the command being provided to the network device. Such an operation may include determining whether the network has improved performance (subsequent to the device being reconfigured) based upon an evaluation of a network performance characteristic such as network capacity.
These and other features and benefits of this invention are further described in the following detailed description and drawings.